基于单片机的串口调试方法与技术 您所在的位置:网站首页 c++ 串口调试 基于单片机的串口调试方法与技术

基于单片机的串口调试方法与技术

#基于单片机的串口调试方法与技术| 来源: 网络整理| 查看: 265

基于单片机的串口调试方法与技术 来源:用户上传      作者: 汤洪乾 杨华

  一、89C51单片机的串行接口结构   89C51单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们其中一个只能被CPU读出数据,另一个只能被CPU写入数据。   二、串行口的控制与状态寄存器   SCON用于定义串行口的工作方式及实施接收和发送控制。其各位定义如表1:   SM2:多机通讯控制位。本文不使用,编程时置0即可。   REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。   TB8:要发送数据的第9位。可约定作为奇偶校验位。   RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若SM2=0,其为接收到的停止位。   TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。必须用软件清0。   RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位。RI也必须用软件清0。   1:方式1,3波特率=定时器1溢出率/16;方式2波特率为Fosc/32。   0:方式1,3波特率=定时器1溢出率/32;方式2波特率为Fosc/64   四种工作方式分别为方式0、方式1、方式2、方式3:   (1)方式0为移位寄存器输入/输出方式。(2)方式1为波特率可变的10位异步通讯接口方式。(3)方式2为固定波特率的11位异步通讯接口方式。(4)方式3为波特率可变的11位异步通讯接口方式。   三、波特率的选择   在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在89C51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。   A、方式0:波特率固定为晶振频率的1/12。B、方式2:波特率由PCON中的选择位SMOD来决定:SMOD=1:波特率为1/32fosc,SMOD=0:波特率为1/64fosc。C、方式1和方式3:定时器T1作为波特率发生器,其公式如下:波特率=定时器T1溢出率乘2的SMOD次方除以32;T1溢出率=T1计数率/产生溢出所需的周期数。当时钟频率选用11.0592MHZ时,容易获得标准的波特率,所以很多单片机系统选用这个频率的晶振。   四、串口调试实验   我们首先要做的是串口的初始化:(1)确定定时器1的工作方式―――编程TMOD寄存器;(2)计算定时器1的初值―――装载TH1,TL1;(3)启动定时器1―――编程TCON中的TR1位;(4)确定串行口的工作方式―――编程SCON;(5)串行口在中断方式工作时,须开CPU和源中断―――编程IE寄存器。   初始化以后就进行串口与PC机的通讯实验,本实验是在PC端向单片机发送数据,然后单片机把PC发送的数据送回PC端,同时单片机控制一个led灯闪烁。这里我们使用基于VC++编写的PC端串口工具来完成调试。   五、结束语   串口通信因简单高效而得到了广泛的应用,本文介绍了89C51单片机的串口通信原理,对其内部结构如串行口控制寄存器SCON和电源控制寄存器PCON进行了详细剖析,研究了4种工作方式下的波特率选择问题,最后进行了实际的RS232串口通信实验,利用中断方式灵活地实现了单片机与PC机的串口通信。 转载注明来源:https://www.xzbu.com/1/view-5260292.htm



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有